Cross conference group stage vs divided conference group stage comparison

Steps: + randomly assign each team a quality score, drawn from uniform distribution + have teams in each conference play round robin where chance of victory is proportional to quality ratio + select top 8 teams in each conference, divide 4 levels of seeds + perform two draws: + one cross conference + one where conferences are drawn into groups separately + chart the following + League Place against Team Quality for both conferences (the matchup algorithm used should determine how likely better teams are to place higher) + League Place against Quality of Group Stage Opponents, separating East, West, and Combined draws. + League Place against Quality of of Top Group Stage Opponent for Eastern Conference Teams in pots 1 and 2, separating East, West, and Combined draws. Limiting to Pot 1 and 2 because pots 3 and 4 because placement in pot 3 vs 4 should not affect your likelihood of facing a better top team + repeat above 1000 times (see part 2)

Part 1: single run example

standard matchup weighting

Match result probabilities directly proportional to quality + weight of home/away win is home/away team’s quality score + weight of draw is mean of home/away team weight * a random value between 0 and 1 + probabilites are each results weight divided by sum of weights

## `geom_smooth()` using formula 'y ~ x'

## `geom_smooth()` using formula 'y ~ x'

Part 2: 1000 simulation run

standard matchup weighting

Match result probabilities directly proportional to quality + weight of home/away win is home/away team’s quality score + weight of draw is mean of home/away team weight * a random value between 0 and 1 + probabilites are each results weight divided by sum of weights

## Warning in py_to_r.pandas.core.frame.DataFrame(x): index contains duplicated
## values: row names not set
## `geom_smooth()` using formula 'y ~ x'

## Warning in py_to_r.pandas.core.frame.DataFrame(x): index contains duplicated
## values: row names not set

## Warning in py_to_r.pandas.core.frame.DataFrame(x): index contains duplicated
## values: row names not set

## Warning in py_to_r.pandas.core.frame.DataFrame(x): index contains duplicated
## values: row names not set
## `geom_smooth()` using formula 'y ~ x'

cubed matchup weighting

Match result probabilities directly proportional to quality + weight of home/away win is home/away team’s quality score cubed + weight of draw is mean of home/away team weight * a random value between 0 and 1 + probabilites are each results weight divided by sum of weights

## Warning in py_to_r.pandas.core.frame.DataFrame(x): index contains duplicated
## values: row names not set
## `geom_smooth()` using formula 'y ~ x'

## Warning in py_to_r.pandas.core.frame.DataFrame(x): index contains duplicated
## values: row names not set

## Warning in py_to_r.pandas.core.frame.DataFrame(x): index contains duplicated
## values: row names not set

## Warning in py_to_r.pandas.core.frame.DataFrame(x): index contains duplicated
## values: row names not set
## `geom_smooth()` using formula 'y ~ x'

exponential matchup weighting

Match result probabilities directly proportional to quality + weight of home/away win is e raised to the home/away team’s quality score + weight of draw is mean of home/away team weight * a random value between 0 and 1 + probabilites are each results weight divided by sum of weights

## Warning in py_to_r.pandas.core.frame.DataFrame(x): index contains duplicated
## values: row names not set
## `geom_smooth()` using formula 'y ~ x'

## Warning in py_to_r.pandas.core.frame.DataFrame(x): index contains duplicated
## values: row names not set

## Warning in py_to_r.pandas.core.frame.DataFrame(x): index contains duplicated
## values: row names not set

## Warning in py_to_r.pandas.core.frame.DataFrame(x): index contains duplicated
## values: row names not set
## `geom_smooth()` using formula 'y ~ x'